package com.wxx.service.tool.rong;


import java.util.Map;

/**
 * @author wangxiaoxiao
 */
public interface RongService {
    /**
     *  API 文档: http://www.rongcloud.cn/docs/server_sdk_api/group/group.html#create
     * 创建群组方法
     * @param userIds 群成员列表
     * @param groupId 群组 Id
     * @param groupName 群组名称
     * @return
     */
    Map createGroup(String groupId, String groupName, String... userIds) throws Exception;

    /**
     * API 文档: http://www.rongcloud.cn/docs/server_sdk_api/group/group.html#join
     * 邀请用户加入群组
     * @param userIds 群成员列表
     * @param groupId 群组 Id
     * @param groupName 群组名称
     * @return
     */
    Map inviteGroup(String groupId, String groupName, String... userIds) throws Exception;

    /**
     * API 文档: http://www.rongcloud.cn/docs/server_sdk_api/group/group.html#getMembers
     * 查询群成员方法
     * @param groupId
     * @return
     */
    Map findMembers(String groupId) throws Exception;

    /**
     * API 文档: http://www.rongcloud.cn/docs/server_sdk_api/group/group.html#join
     * 用户加入指定群组
     * @param userIds 群成员列表
     * @param groupId 群组 Id
     * @param groupName 群组名称
     * @return
     */
    Map joinGroup(String groupId, String groupName, String... userIds) throws Exception;


    /**
     * API 文档: http://www.rongcloud.cn/docs/server_sdk_api/group/group.html#quit
     * 退出群组
     * @param userIds 群成员列表
     * @param groupId 群组 Id
     * @param groupName 群组名称
     * @return
     */
    Map quitGroup(String groupId, String groupName, String... userIds) throws Exception;

    /**
     * API 文档: http://www.rongcloud.cn/docs/server_sdk_api/group/group.html#dismiss
     *  解散群组
     *  userIds只需要传入这个群组里面的成员任意id就可以解散群组（不存在的也可以解散群组）
     * @param groupId
     * @param groupName
     * @param userIds
     * @return
     * @throws Exception
     */
    Map dismissGroup(String groupId, String groupName, String... userIds) throws Exception;

    /**
     * 刷新群组信息方法 (修改群id和名称)
     * 没啥用
     * @param groupId
     * @param groupName
     * @return
     * @throws Exception
     */
    Map updateGroup(String groupId, String groupName) throws Exception;
}
